
*, *:before, *:after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    outline: none;
}

h1 {
    padding: 50px 0;
    font-weight: 400;
    text-align: center;
}

p {
    margin: 0 0 20px;
    line-height: 1.5;
}

main {
    min-width: 320px;
    max-width: 800px;
    padding: 50px;
    margin: 0 auto;
    background: #fff;
}

section {
    display: none;
    padding: 20px 0 0;
    border-top: 1px solid #ddd;
}

.tab-input {
    display: none;
}

.source-div label {
    display: inline-block;
    margin: 0 0 -1px;
    padding: 8px 35px;
    /*font-weight: 600;*/
    font-size: 14px;
    text-align: center;
    color: #bbb;
    border: 1px solid transparent;
}

label:before {
    font-weight: normal;
    margin-right: 10px;
}

/*label[for*='1']:before {
  content: '\f1cb';
}

label[for*='2']:before {
  content: '\f17d';
}

label[for*='3']:before {
  content: '\f16b';
}

label[for*='4']:before {
  content: '\f1a9';
}*/

label:hover {
    color: #888;
    cursor: pointer;
}

input.tab-input:checked + label {
    color: #555;
    border: 1px solid #ddd;
    border-top: 2px solid orange;
    border-bottom: 1px solid #fff;
}

#tab1:checked ~ #content1,
#tab2:checked ~ #content2,
#tab3:checked ~ #content3,
#tab4:checked ~ #content4,
#tab5:checked ~ #content5,
#tab6:checked ~ #content6,
#tab7:checked ~ #content7,
#tab8:checked ~ #content8,
#tab9:checked ~ #content9,
#tab92:checked ~ #content92,
#tab10:checked ~ #content10,
#tab11:checked ~ #content11,
#tab12:checked ~ #content12,
#tab13:checked ~ #content13,
#tab14:checked ~ #content14,
#tab15:checked ~ #content15,
#tab16:checked ~ #content16,
#tab17:checked ~ #content17,
#tab18:checked ~ #content18,
#tab19:checked ~ #content19,
#tab20:checked ~ #content20,
#tab21:checked ~ #content21,
#tab22:checked ~ #content22,
#tab23:checked ~ #content23,
#tab24:checked ~ #content24,
#tab25:checked ~ #content25{
    display: block;
}

@media screen and (max-width: 650px) {
    label {
        font-size: 0;
    }

    label:before {
        margin: 0;
        font-size: 18px;
    }
}

@media screen and (max-width: 400px) {
    label {
        padding: 15px;
    }
}
